package com.wenx.v3system.modular.platform.domain.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * 平台用户统一请求DTO
 * 
 * @author wenx
 */
@Data
@Schema(description = "平台用户统一请求")
public class PlatformUserRequest {

    // ==================== 租户访问权限相关 ====================
    @Schema(description = "用户ID", example = "1")
    private Long userId;

    @Schema(description = "租户ID列表")
    private List<String> tenantIds;

    @Schema(description = "访问类型", example = "read")
    private String accessType;

    @Schema(description = "租户ID", example = "tenant001")
    private String tenantId;

    // ==================== 状态更新相关 ====================
    @Schema(description = "状态：1-正常，2-锁定，0-禁用", example = "1")
    private Integer status;

    // ==================== 用户名检查相关 ====================
    @Schema(description = "用户名", example = "test_user")
    private String username;

    @Schema(description = "排除的用户ID（用于编辑时排除自己）")
    private Long excludeUserId;

    // ==================== 邮箱检查相关 ====================
    @Schema(description = "邮箱", example = "test@example.com")
    private String email;

    // ==================== 登录信息更新相关 ====================
    @Schema(description = "登录IP", example = "192.168.1.100")
    private String loginIp;

    // ==================== 权限检查相关 ====================
    @Schema(description = "单个权限编码", example = "user:read")
    private String permission;

    @Schema(description = "权限编码列表")
    private List<String> permissions;
}